<?php

/**
 * Description of EtajValidator
 *
 * @author verminu
 */
class EtajValidator extends sfValidatorBase
{
 
  protected function doClean($value)
  {
    // se transcrie cu litere mici
    // diacriticile se transforma in litere latine
    $value = strtolower(myTools::toLatin($value));
    
    // a se vedea si ApartamentPeer::getEtajCode()
    $validator = new sfValidatorOr(
        array(
          new sfValidatorInteger(array('min' => 1, 'max' => sfConfig::get('mod_apartamente_max_etaje'))),
          new sfValidatorChoice(array('choices' => ApartamentPeer::getEtajChoices())),
        ),
        array(),
        array('invalid' => 'Etajul nu este completat corect.')
    );
    
    $value = $validator->clean($value);
    
    $value = ApartamentPeer::getEtajCode($value);
    
    return $value;
  }
}
